package cn.zeng.dto;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

import static cn.zeng.dto.Color.BLACK;


/**
 * 健康信息汇总
 *
 * @author zyb
 */
@Data
public class HealthInformationSummary {
    private String date = "2017-12-12";

    private String dietary = "饮食均衡";
    private String activity = "活动好";
    private String smoking = "抽烟少";
    private String drinkWine = "喝酒";
    private String sleep = "睡眠良好";
    private String psychological = "细心利好";

    private DietaryInfo dietaryInfo = new DietaryInfo();
    private MedicalInfo medicalInfo = new MedicalInfo();

    @Data
    public static class DietaryInfo {
        private Integer riceAndPhoto = 120;
        private String riceAndPhotoColor = BLACK.getName();
        private String riceAndPhotoReference = "&lt;120";

        private Integer vegetable = 200;
        private String vegetableColor = BLACK.getName();
        private String vegetableReference = "&gt;120";

        private Integer fruit = 100;
        private String fruitColor = BLACK.getName();
        private String fruitReference = "100~200";

        private Integer meat = 201;
        private String meatColor = BLACK.getName();
        private String meatReference = "123";

        private Integer fish = 129;
        private String fishColor = BLACK.getName();
        private String fishReference = "1~1";

        private Integer egg = 102;
        private String eggColor = BLACK.getName();
        private String eggReference = "12";

        private Integer milk = 111;
        private String milkColor = BLACK.getName();
        private String milkReference = "121";

        private Integer soybean = 123;
        private String soybeanColor = BLACK.getName();
        private String soybeanReference = "12~12";

        private Integer cookOil = 121;
        private String cookOilColor = BLACK.getName();
        private String cookOilReference = "122";

        private Integer salt = 111;
        private String saltColor = BLACK.getName();
        private String saltReference = "12~11";

        private Integer drinkWater = 12;
        private String drinkWaterColor = BLACK.getName();
        private String drinkWaterReference = "12";
    }

    @Data
    public static class MedicalInfo {
        private Integer height = 121;
        private Integer weight = 30;

        private Double bmi = 12.1;
        private String bmiColor = BLACK.getName();
        private String bmiReference = "1212bmi1212";
        /**
         * 腰围
         */
        private Integer waistCircumference = 12;
        private String waistCircumferenceColor = BLACK.getName();
        private String waistCircumferenceReference = "12";
        /**
         * 收缩压
         */
        private Integer systolicBloodPressure = 11;

        /**
         * 舒张压
         */
        private Integer diastolicBloodPressure = 22;
        private String bloodPressureColor = BLACK.getName();
        private String bloodPressureReference = "12~12";


        /**
         * 空腹血糖
         */

        private Double fastingPlasmaGlucose = 112.;
        private String fastingPlasmaGlucoseColor = BLACK.getName();
        private String fastingPlasmaGlucoseReference = "12~12";


        /**
         * 总胆固醇
         */

        private Double totalCholesterol = 12.;
        private String totalCholesterolColor = BLACK.getName();
        private String totalCholesterolReference = "121";


        /**
         * 甘油三酯
         */
        private Double triglycerides = 22.;
        private String triglyceridesColor = BLACK.getName();
        private String triglyceridesReference = "112";

        /**
         * 高密度蛋白固醇
         */

        private Double highDensityLipoprotein = 11.;
        private String highDensityLipoproteinColor = BLACK.getName();
        private String highDensityLipoproteinReference = "22";

        /**
         * 低密度蛋白固醇
         */

        private Double lowDensityLipoprotein = 12.;
        private String lowDensityLipoproteinColor = BLACK.getName();
        private String lowDensityLipoproteinReference = "12";

    }

    private String selfDiseaseHistory = "你猜猜\t没有\t我去";
    private String familyDiseaseHistory = "你猜猜\t没有\t我去";


    public Map<String, Object> toMap() {
        Map<String, Object> map = new HashMap<>(69);
        map.put("HealthInformationSummary_date", date);
        map.put("HealthInformationSummary_dietary", dietary);
        map.put("HealthInformationSummary_activity", activity);
        map.put("HealthInformationSummary_smoking", smoking);
        map.put("HealthInformationSummary_drinkWine", drinkWine);
        map.put("HealthInformationSummary_sleep", sleep);
        map.put("HealthInformationSummary_psychological", psychological);
        map.put("HealthInformationSummary_DietaryInfo_riceAndPhoto", dietaryInfo.riceAndPhoto);
        map.put("HealthInformationSummary_DietaryInfo_riceAndPhotoColor", dietaryInfo.riceAndPhotoColor);
        map.put("HealthInformationSummary_DietaryInfo_riceAndPhotoReference", dietaryInfo.riceAndPhotoReference);
        map.put("HealthInformationSummary_DietaryInfo_vegetable", dietaryInfo.vegetable);
        map.put("HealthInformationSummary_DietaryInfo_vegetableColor", dietaryInfo.vegetableColor);
        map.put("HealthInformationSummary_DietaryInfo_vegetableReference", dietaryInfo.vegetableReference);
        map.put("HealthInformationSummary_DietaryInfo_fruit", dietaryInfo.fruit);
        map.put("HealthInformationSummary_DietaryInfo_fruitColor", dietaryInfo.fruitColor);
        map.put("HealthInformationSummary_DietaryInfo_fruitReference", dietaryInfo.fruitReference);
        map.put("HealthInformationSummary_DietaryInfo_meat", dietaryInfo.meat);
        map.put("HealthInformationSummary_DietaryInfo_meatColor", dietaryInfo.meatColor);
        map.put("HealthInformationSummary_DietaryInfo_meatReference", dietaryInfo.meatReference);
        map.put("HealthInformationSummary_DietaryInfo_fish", dietaryInfo.fish);
        map.put("HealthInformationSummary_DietaryInfo_fishColor", dietaryInfo.fishColor);
        map.put("HealthInformationSummary_DietaryInfo_fishReference", dietaryInfo.fishReference);
        map.put("HealthInformationSummary_DietaryInfo_egg", dietaryInfo.egg);
        map.put("HealthInformationSummary_DietaryInfo_eggColor", dietaryInfo.eggColor);
        map.put("HealthInformationSummary_DietaryInfo_eggReference", dietaryInfo.eggReference);
        map.put("HealthInformationSummary_DietaryInfo_milk", dietaryInfo.milk);
        map.put("HealthInformationSummary_DietaryInfo_milkColor", dietaryInfo.milkColor);
        map.put("HealthInformationSummary_DietaryInfo_milkReference", dietaryInfo.milkReference);
        map.put("HealthInformationSummary_DietaryInfo_soybean", dietaryInfo.soybean);
        map.put("HealthInformationSummary_DietaryInfo_soybeanColor", dietaryInfo.soybeanColor);
        map.put("HealthInformationSummary_DietaryInfo_soybeanReference", dietaryInfo.soybeanReference);
        map.put("HealthInformationSummary_DietaryInfo_cookOil", dietaryInfo.cookOil);
        map.put("HealthInformationSummary_DietaryInfo_cookOilColor", dietaryInfo.cookOilColor);
        map.put("HealthInformationSummary_DietaryInfo_cookOilReference", dietaryInfo.cookOilReference);
        map.put("HealthInformationSummary_DietaryInfo_salt", dietaryInfo.salt);
        map.put("HealthInformationSummary_DietaryInfo_saltColor", dietaryInfo.saltColor);
        map.put("HealthInformationSummary_DietaryInfo_saltReference", dietaryInfo.saltReference);
        map.put("HealthInformationSummary_DietaryInfo_drinkWater", dietaryInfo.drinkWater);
        map.put("HealthInformationSummary_DietaryInfo_drinkWaterColor", dietaryInfo.drinkWaterColor);
        map.put("HealthInformationSummary_DietaryInfo_drinkWaterReference", dietaryInfo.drinkWaterReference);
        map.put("HealthInformationSummary_MedicalInfo_height", medicalInfo.height);
        map.put("HealthInformationSummary_MedicalInfo_weight", medicalInfo.weight);
        map.put("HealthInformationSummary_MedicalInfo_bmi", medicalInfo.bmi);
        map.put("HealthInformationSummary_MedicalInfo_bmiColor", medicalInfo.bmiColor);
        map.put("HealthInformationSummary_MedicalInfo_bmiReference", medicalInfo.bmiReference);
        map.put("HealthInformationSummary_MedicalInfo_waistCircumference", medicalInfo.waistCircumference);
        map.put("HealthInformationSummary_MedicalInfo_waistCircumferenceColor", medicalInfo.waistCircumferenceColor);
        map.put("HealthInformationSummary_MedicalInfo_waistCircumferenceReference", medicalInfo.waistCircumferenceReference);
        map.put("HealthInformationSummary_MedicalInfo_systolicBloodPressure", medicalInfo.systolicBloodPressure);
        map.put("HealthInformationSummary_MedicalInfo_diastolicBloodPressure", medicalInfo.diastolicBloodPressure);
        map.put("HealthInformationSummary_MedicalInfo_bloodPressureColor", medicalInfo.bloodPressureColor);
        map.put("HealthInformationSummary_MedicalInfo_bloodPressureReference", medicalInfo.bloodPressureReference);
        map.put("HealthInformationSummary_MedicalInfo_fastingPlasmaGlucose", medicalInfo.fastingPlasmaGlucose);
        map.put("HealthInformationSummary_MedicalInfo_fastingPlasmaGlucoseColor", medicalInfo.fastingPlasmaGlucoseColor);
        map.put("HealthInformationSummary_MedicalInfo_fastingPlasmaGlucoseReference", medicalInfo.fastingPlasmaGlucoseReference);
        map.put("HealthInformationSummary_MedicalInfo_totalCholesterol", medicalInfo.totalCholesterol);
        map.put("HealthInformationSummary_MedicalInfo_totalCholesterolColor", medicalInfo.totalCholesterolColor);
        map.put("HealthInformationSummary_MedicalInfo_totalCholesterolReference", medicalInfo.totalCholesterolReference);
        map.put("HealthInformationSummary_MedicalInfo_triglycerides", medicalInfo.triglycerides);
        map.put("HealthInformationSummary_MedicalInfo_triglyceridesColor", medicalInfo.triglyceridesColor);
        map.put("HealthInformationSummary_MedicalInfo_triglyceridesReference", medicalInfo.triglyceridesReference);
        map.put("HealthInformationSummary_MedicalInfo_highDensityLipoprotein", medicalInfo.highDensityLipoprotein);
        map.put("HealthInformationSummary_MedicalInfo_highDensityLipoproteinColor", medicalInfo.highDensityLipoproteinColor);
        map.put("HealthInformationSummary_MedicalInfo_highDensityLipoproteinReference", medicalInfo.highDensityLipoproteinReference);
        map.put("HealthInformationSummary_MedicalInfo_lowDensityLipoprotein", medicalInfo.lowDensityLipoprotein);
        map.put("HealthInformationSummary_MedicalInfo_lowDensityLipoproteinColor", medicalInfo.lowDensityLipoproteinColor);
        map.put("HealthInformationSummary_MedicalInfo_lowDensityLipoproteinReference", medicalInfo.lowDensityLipoproteinReference);
        map.put("HealthInformationSummary_selfDiseaseHistory", selfDiseaseHistory);
        map.put("HealthInformationSummary_familyDiseaseHistory", familyDiseaseHistory);
        return map;
    }

}
